
        <html>
			<head>
			     <title>儿童智能手表行业安全问题报告 - 路人甲</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/9164">http://drops.wooyun.org/papers/9164</a></h1>
				
      <p>
        <p><strong>Wooyun &amp; NumenTeam 联合出品</strong></p>

<h1>0x00 引子</h1>

<hr />

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592771695pic127.png" alt="" /></p>

<p>这是来自美剧《网络犯罪调查》的一张截图，讲述的是黑客通过入侵了数万家庭婴儿监控摄像头，分析家庭的作息时间，在合适的时机偷出需要的婴儿，并实时进行全球在线拍卖的故事。</p>

<p>上面的场景哪怕放在两年前都会显得有些科幻，但由于近年来智能硬件热潮的兴起，带来相关设备的井喷式发展，使得上面的场景已经完全可以变成现实。只是本文的主角由婴儿监控摄像头变成了儿童智能手表。</p>

<!--more-->

<h1>0x01 背景</h1>

<hr />

<p>以Apple Watch为代表的智能手表行业的兴起，带起了智能穿戴设备的一波高潮。当这类技术和特定的人群结合，就形成了各种细分市场，比如老人手表、运动手表、儿童手表。由于开学季，近几个月来，儿童智能手表的市场呈现出爆发的姿势，行业月出货量达到百万以上。家长们也纷纷愿意为这个新产品买单，以期收获一份安心。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592939228pic214.png" alt="" /></p>

<p>这个现象引起了专注智能硬件安全的NumenTeam（<a href="http://numen-team.org">http://numen-team.org</a>）团队的注意，凭着过往的积累，我们敏锐地感知到，大量涌入的手表厂商，同时也携带了大量的安全问题进入这个领域。孩子是一个家庭的希望，可以说孩子的安全是一个家庭最重要的事情，其重要性远远超过隐私泄漏、财产被盗这类传统安全关注的问题。</p>

<p>在国内知名的安全问题发布平台乌云（<a href="http://WooYun.org">http://WooYun.org</a>）上，也出现了不少相关漏洞。有感于这个可能爆发重大安全问题的行业，NumenTeam联合乌云平台对市面上主流的儿童智能手表进行了深入的安全问题分析，以期能引起行业关注，尽快修复存在的问题。</p>

<p>为此，我们在淘宝和京东上抽取了部分销量不错的儿童智能手表品牌作为测试对象，包括：</p>

<table border="1">
  <tr>
    <td>
      小天才
    </td>
    
    <td>
      阿巴町
    </td>
    
    <td>
      三基同创
    </td>
    
    <td>
      糖猫
    </td>
  </tr>
  
  <tr>
    <td>
      锋立
    </td>
    
    <td>
      开米
    </td>
    
    <td>
      一米
    </td>
    
    <td>
      平安星
    </td>
  </tr>
  
  <tr>
    <td>
      TORO
    </td>
    
    <td>
      中兴守护宝
    </td>
    
    <td>
      童表管家
    </td>
    
    <td>
      邦邦熊
    </td>
  </tr>
  
  <tr>
    <td>
      库多啦
    </td>
    
    <td>
      微喔 V.WO
    </td>
    
    <td>
    </td>
    
    <td>
    </td>
  </tr>
</table>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312593194094pic312.png" alt="" /></p>

<p>市面上的儿童智能手表一般主打以下几个卖点：</p>

<ol>
<li>实时定位孩子的位置，以及衍生的活动轨迹图、回家导航、范围预警等。</li>
<li>发消息、打电话、SOS向家长求救。</li>
<li>监听孩子周围环境的声音。</li>
<li>孩子运动统计。</li>
</ol>

<p>可以看到，智能手表的功能中实际上包含了孩子非常多的隐私信息，如果被黑客控制，后果非常严重。</p>

<h1>0x02 研究方法</h1>

<hr />

<p>如果从专业的安全角度来说，评测智能手表会涉及到很多细节问题，比如APP安全、Web安全、固件安全等。为了简化研究过程，本文从下面四个关键维度的结论来评估手表的安全风险：</p>

<ol>
<li>是否可以获取其他儿童的定位信息</li>
<li>是否可以远程监听其他儿童</li>
<li>是否可以切断家长和儿童的联系</li>
<li>是否可以根据家长手机号精确匹配到其孩子</li>
</ol>

<p>如果上述四个维度都能实现，就意味着引子里面的电视剧场景可能变成现实。</p>

<h1>0x03 结论数据</h1>

<hr />

<p>通过对各款手表的通信协议和指令系统进行分析和模拟，我们得到的结论非常不乐观。大部分儿童智能手表存在上面提到的一个或多个安全风险。有些品牌甚至全中，对此我们表示非常担忧。</p>

<p>下面描述一下各个维度常见的问题的部分原因：</p>

<h2>1、定位其他儿童</h2>

<p>问题1：无需授权绑定设备</p>

<p>原因：部分品牌存在，只要知道对方手表序列号，就可以直接绑定手表获取数据，没有要求儿童或者家长侧的验证。</p>

<p>问题2：无需绑定越权查询</p>

<p>原因：部分品牌的后台查询接口，权限控制不严格，通过构造指令可以直接查询到其他手表的定位信息。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312591931145fig12.png" alt="" /></p>

<h2>2、监听其他儿童</h2>

<p>问题1：无需授权绑定设备</p>

<p>原因：原因同定位信息，黑客可以直接绑定手表，获取全部权限。</p>

<p>问题2：后台权限判定不严格</p>

<p>原因：部分品牌在处理监听请求时，没有限制只有来自父母的请求才接受，导致可被黑客监听。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592085320fig22.png" alt="" /></p>

<h2>3、切断家长和孩子的联系</h2>

<p>问题1：APP端存在默认密码</p>

<p>原因：部分品牌为了方便，在父母手机端使用了默认密码，导致黑客可以简单修改密码使得父母无法登录，无法取得儿童的信息。</p>

<p>问题2：后台越权修改密码</p>

<p>原因：部分品牌后台修改用户信息的接口存在权限控制问题，可以通过特定的方式修改他人帐号信息和密码，导致父母无法登录。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592278419fig32.png" alt="" /></p>

<h2>4、精确匹配家长和儿童</h2>

<p>问题1：查询接口暴露过多信息</p>

<p>原因：部分品牌的数据查询接口暴露了过多信息，可能包括家长和孩子的手机号，导致可以做到精确匹配。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592346565fig4.png" alt="" /></p>

<h2>5、详细结论</h2>

<p><strong>注：× 表示已发现问题，√ 表示暂未发现，品牌顺序和上面品牌列表不对应</strong></p>

<table border="1">
  <tr>
    <td>
    </td>
    
    <td>
      定位儿童
    </td>
    
    <td>
      监听儿童
    </td>
    
    <td>
      切断父母数据
    </td>
    
    <td>
      匹配父母孩子
    </td>
  </tr>
  
  <tr>
    <td>
      品牌01
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌02
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌03
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
  </tr>
  
  <tr>
    <td>
      品牌04
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
  </tr>
  
  <tr>
    <td>
      品牌05
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌06
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌07
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌08
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
  </tr>
  
  <tr>
    <td>
      品牌09
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
    
    <td>
      ×
    </td>
  </tr>
  
  <tr>
    <td>
      品牌10
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
    
    <td>
      ×
    </td>
  </tr>
  
  <tr>
    <td>
      品牌11
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌12
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌13
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      品牌14
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      ×
    </td>
    
    <td>
      √
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>合计</strong>
    </td>
    
    <td>
      <strong>9</strong>
    </td>
    
    <td>
      <strong>7</strong>
    </td>
    
    <td>
      <strong>6</strong>
    </td>
    
    <td>
      <strong>5</strong>
    </td>
  </tr>
</table>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312592523714graph3.png" alt="" /></p>

<h1>0x04 细节举隅</h1>

<hr />

<h2>1. 越权查询</h2>

<p>由于智能手表的方案商多数属于传统厂商，互联网安全意识这块相对薄弱，导致许多产品连最基本的账户权限控制都没有做。只需要修改web api的指令参数，就可以获得其他设备的详细信息。</p>

<p>例如调用某款智能手表的reqDeviceInfo指令，修改参数 device_id。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312593394136pic410.png" alt="" /></p>

<p>就可以拿到非常敏感的信息，包括家长和孩子的手机号、头像等。</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312593578355pic510.png" alt="" /></p>

<h2>2. 设备遍历</h2>

<p>越权问题通常还有个特别亲密的小伙伴，就是设备的遍历，厂商为了方便，设备ID往往使用简单的递增，最多再加上前后缀的方式。导致把前面越权查询的问题迅速放大，甚至于可以拉取厂商所有卖出的设备信息。</p>

<p>下图是从某厂商的数据接口中读出的部分定位数据：</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312593931587pic611.png" alt="" /></p>

<p>上面的简单数据或许不会感觉太明显。为了直观表示，这里抽取了部分定位数据，绘制了京津唐地区的实时监控数据图：</p>

<p><img src="http://static.wooyun.org//drops/20150923/2015092312594479849pic710.png" alt="" /></p>

<p>可以看到，黑客完全可以绘制一张实时地图，来监控全国各地的孩子们，细思极恐。</p>

<p>其实安全问题这边还有很多细节，由于儿童安全这个问题实在太过敏感，这里去除了大部分，仅希望这个局面能引起各厂商的重视。</p>

<h1>0x05 结语</h1>

<hr />

<p>限于研究时间的关系，上面的数据可能只是部分产品的一部分问题而已。还有更多的其他智能产品在让我们享受更便利生活的同时，在源源不断的泄露隐私，导致可能的安全风险。后续相关问题我们也会持续提交到乌云平台，为产业的安全能力提升贡献力量。</p>

<p>作为安全研究人员同时也是一个普通父亲，我们对此现状感到非常担忧。仿佛看到千千万万的孩子处于危险。虽然我们倾向于认为人贩子不会拥有这样的视野和技术，但是在未来的高科技犯罪场景下一切皆有可能。</p>

<p>对此，我们NumenTeam团队也在积极打造相关的安全服务和产品，希望能帮助安全能力不足的企业，一起努力提升这个行业的安全性，希望引子里的场景仅仅存在于电视剧而已。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          